package com.f21.f21assessoria.dao;
import java.util.List;

import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import com.f21.f21assessoria.model.cadastro.Usuario;
import com.f21.f21assessoria.model.modalidade.Modalidade;
import com.f21.f21assessoria.model.modalidade.Turma;

@Repository("turma")
@Transactional(propagation=Propagation.REQUIRED)
public class TurmaDaoImp extends CrudDaoImp<Turma> implements TurmaDao {

	public Turma buscarPorId(long id)  {
		return (Turma) getSessionFactory().getCurrentSession().get(Turma.class, id);
	}


	public List<Usuario> listaAlunos(Turma turma) {
		return null;
	}

	public List<Usuario> listaProfessores(Turma turma) {
		return null;
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Turma> listarTodos() {
		return (List<Turma>) getSessionFactory().getCurrentSession().createQuery("from Turma").list();
	}
	
	public void salvarModadilade(Modalidade modalidade){
		sessionFactory.getCurrentSession().saveOrUpdate(modalidade);
	}
	
	public void excluirModalidade(Modalidade modalidade){
		sessionFactory.getCurrentSession().delete(modalidade);
		
	}


	public List<Modalidade> listaModalidades() {
		return (List<Modalidade>) getSessionFactory().getCurrentSession().createQuery("from Modalidade").list();
	}

}
